'''
Author: SUNNY
Description: 
Date: 2025-11-15 10:35:30
'''
"""
MCP 服务器测试客户端
用于验证服务器功能是否正常
"""

from fastmcp import Client
import asyncio

async def test_server():
    """测试MCP服务器功能"""
    print("🔧 开始测试MCP服务器...")

    try:
        # 连接到服务器
        async with Client("simple_server.py") as client:
            print("✅ 服务器连接成功！")

            # 获取可用工具列表
            tools = await client.list_tools()
            tool_names = [tool.name for tool in tools]
            print(f"🛠️ 发现 {len(tool_names)} 个工具: {', '.join(tool_names)}")

            print("\n🧪 开始功能测试...")

            # 测试加法
            print("1. 测试加法功能: 15 + 25")
            result = await client.call_tool("add", {"a": 15, "b": 25})
            print(f"   结果: {result.content[0].text}")

            # 测试乘法
            print("2. 测试乘法功能: 6.5 × 4.2")
            result = await client.call_tool("multiply", {"a": 6.5, "b": 4.2})
            print(f"   结果: {result.content[0].text}")

            # 测试BMI计算
            print("3. 测试BMI计算: 体重70kg, 身高1.75m")
            result = await client.call_tool("calculate_bmi", {"weight": 70, "height": 1.75})
            print(f"   结果: {result.content[0].text}")

            print("\n🎉 所有测试通过！服务器运行正常！")

    except Exception as e:
        print(f"❌ 测试失败: {e}")
        print("💡 提示: 请确保在另一个终端中运行 'fastmcp run simple_server.py'")

if __name__ == "__main__":
    asyncio.run(test_server())